﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	[DataContract]
	public enum ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"5d4ad15f-73b1-497a-909a-2f99844e8bf6\", \"Представление\":\"ПолныйРасчет\"}")]
		ПолныйРасчет = 0,//Полный расчет
		[EnumMember(Value = "{\"Ссылка\":\"00b760eb-0d41-4b53-af36-ba29488d7e95\", \"Представление\":\"РасчетНачислений\"}")]
		РасчетНачислений = 1,//Расчет начислений
		[EnumMember(Value = "{\"Ссылка\":\"85fdc996-c66e-4a6d-a544-5bc15c4a0b9b\", \"Представление\":\"ПогашениеЗаймов\"}")]
		ПогашениеЗаймов = 2,//Погашение займов
		[EnumMember(Value = "{\"Ссылка\":\"48cfb09e-2ee3-42e3-9369-ac17938f32bb\", \"Представление\":\"РасчетНДФЛ\"}")]
		РасчетНДФЛ = 3,//Расчет НДФЛ
		[EnumMember(Value = "{\"Ссылка\":\"50cc44f5-92a4-4991-9fed-2a1651e7226c\", \"Представление\":\"РасчетУдержаний\"}")]
		РасчетУдержаний = 4,//Расчет удержаний
	}
	public static partial class ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid ПолныйРасчет = new Guid("992f9a90-4e84-f68b-497a-73b15d4ad15f");//Полный расчет
		public static readonly Guid РасчетНачислений = new Guid("29ba36af-8d48-957e-4b53-0d4100b760eb");//Расчет начислений
		public static readonly Guid ПогашениеЗаймов = new Guid("c15b44a5-4a5c-9b0b-4a6d-c66e85fdc996");//Погашение займов
		public static readonly Guid РасчетНДФЛ = new Guid("17ac6993-8f93-bb32-42e3-2ee348cfb09e");//Расчет НДФЛ
		public static readonly Guid РасчетУдержаний = new Guid("162aed9f-e751-6c22-4991-92a450cc44f5");//Расчет удержаний
		public static ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций Получить(this ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций Получить(this ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций Значение, Guid Ссылка)
		{
			if(Ссылка == ПолныйРасчет)
			{
				return ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.ПолныйРасчет;
			}
			else if(Ссылка == РасчетНачислений)
			{
				return ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.РасчетНачислений;
			}
			else if(Ссылка == ПогашениеЗаймов)
			{
				return ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.ПогашениеЗаймов;
			}
			else if(Ссылка == РасчетНДФЛ)
			{
				return ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.РасчетНДФЛ;
			}
			else if(Ссылка == РасчетУдержаний)
			{
				return ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.РасчетУдержаний;
			}
			return ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.ПустаяСсылка;
		}
		public static byte[] Ключ(this ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций Значение)
		{
			switch (Значение)
			{
				case ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.ПолныйРасчет: return ПолныйРасчет;
				case ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.РасчетНачислений: return РасчетНачислений;
				case ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.ПогашениеЗаймов: return ПогашениеЗаймов;
				case ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.РасчетНДФЛ: return РасчетНДФЛ;
				case ВидыОперацийНачислениеЗарплатыРаботникамОрганизаций.РасчетУдержаний: return РасчетУдержаний;
			}
			return Guid.Empty;
		}
	}
}